#!/bin/bash

# 主逻辑
main() {
  # 获取当前目录
  currentPath=$(pwd)
  # 打印当前目录
  echo "当前目录：$currentPath"
  currentDirName=${currentPath##*/}

  # 判断当前文件路径的最后一个目录名是否是 X-APAAS-WORKSPACE
  if [ "$currentDirName" != "X-APAAS-WORKSPACE" ]; then
    echo "当前文件目录不是 X-APAAS-WORKSPACE"
    exit 1
  fi

  # 验证参数输入
  if [ -z "$1" ]; then
    echo "未传入依赖项目名"
    exit 1
  fi

  if [ -z "$2" ]; then
    echo "未传入主项目名"
    exit 1
  fi

  # 验证依赖项目名
  deps=$(ls ./DEPS)
  dep=$(echo "$deps" | grep "$1")

  if [ -z "$dep" ]; then
    echo "未找到匹配的依赖项目名,请检查"
    exit 1
  fi

  echo "匹配的依赖项目名：$dep"

  # 验证主项目名
  mains=$(ls ./MAIN)
  main=$(echo "$mains" | grep "$2")

  if [ -z "$main" ]; then
    echo "未找到匹配的主项目名,请检查"
    exit 1
  fi

  echo "匹配的主项目名：$main"

  # 处理特殊依赖项目名
  if [ "$dep" == "x-apaas-frontend-i18n" ]; then
    rm -rf "./MAIN/$main/node_modules/@x-apaas/$dep"
    cp -rf "./DEPS/$dep" "./MAIN/$main/node_modules/@x-apaas/"
    echo -e "\033[32m依赖项目 $dep 的依赖包已经拷贝到主项目 $main 的 node_modules 目录下 \033[0m"
    exit 0
  fi

  # 进入依赖项目目录
  cd "./DEPS/$dep"

  # 执行依赖项目的打包命令
  read -p "按下 enter 键继续执行..."

  if [ "$3" != "n" ]; then
    npm run lib
  else
    echo "正在移动lib文件夹到主项目"
  fi

  # 将依赖项目打包后的文件拷贝到主项目
  rm -rf "../../MAIN/$main/node_modules/@x-apaas/$dep/lib"

  if [ "$dep" == "x-dcloud-ui" ]; then
    cp -rf lib "../../MAIN/$main/node_modules/@x-ui/$dep/"
  else
    cp -rf lib "../../MAIN/$main/node_modules/@x-apaas/$dep/"
  fi

  # 返回 X-APAAS-WORKSPACE 目录
  cd ../../
  echo -e "\033[32m依赖项目 $dep 的依赖包已经拷贝到主项目 $main 的 node_modules 目录下 \033[0m"
}

# 执行主逻辑
main "$1" "$2" "$3"
